#pragma once

#include "..\\headers.default.h"
#include "..\\headers.cv.h"

#include "ipfe_base.h"
#include "ipfe_shape_pattern.h"
#include "ipfe_default_ipfc_set.h"
#include "ipfe_image_pyramid.h"

using namespace loirey;

//#define	USE_NEW_FEATURE	1

class CFeatureFactory_HiDe
{
public:
	class CParameters
	{
	public:
		int ImageExtent;
		double TextonSigma;
		CShapePatternList ShapePatternList;
	};
public:
	static CParameters Parameters;

public:
	static CImageFilterBank* GenerateFilterBank();
	static CImagePositionFeatureExtractor* GenerateIPFE(CImageFilterBank* pFixedImageFilterBank);
	static CImagePyramidPositionFeatureExtractor* GenerateIPPFE(CImageFilterBank* pFixedImageFilterBank, int CacheSize);
};

//class C_IPPFE_Factory_HiDe
//{
//public:
//	class CParameters
//	{
//	public:
//		int ImageExtent;
//		double TextonSigma;
//		CShapePatternList ShapePatternList_ForMeanAndVariance;
//	};
//public:
//	static CParameters IPFE_Config;
//public:
//	static CImagePositionFeatureExtractor* GenerateIPFE();
//	static CImagePyramidPositionFeatureExtractor* GenerateIPPFE(int CacheSize);
//};

